Develop a Javascript application that allows the user to enter strings into a variable number of input widgets. As a string is entered by the user its length is automatically displayed next to the input widget. Buttons are provided to control the interface and to provide some functionality.
• Clicking one button will add another input widget
• Clicking another button will remove an input widget, always leaving at least one input widget.
• Clicking anther button will cause the visible strings to be sorted
Everthing works besides the Remove button... I want to remove one text box at a time.
As well I want it to keep stored value even if the text box is deleted..
Below is the code:
HTML :
<!DOCTYPE html>
 <html>
 <head>
 <title>Java script application</title>
 <script src=\"form.js\" type=\"text/javascript\"></script>
 <link href=\"form.css\" rel=\"stylesheet\" type=\"text/css\">
 </head>
 <body>
 <div class=\"main_content\">
 <div class=\"two\">
 <h4>ADD TEXT Field</h4><button onclick=\"nameFunction()\">Name</button>
 <button onclick=\"resetElements()\">Reset</button>
 <button onclick =\"removeElement()\">Remove</button>
 </div>
 <div class=\"three\">
 <h2>Dynamic Form!</h2>
 <form id=\"mainform\" >
 <span id=\"myForm\"></span>
 <p></p><input type=\"button\" value=\"Sort\" onclick=\"fnsort()\">
 </form>
 </div>
 </body>
 </html>
=========================
Js File
var i = 0; /* Set Global Variable i */
 var count =0;
 function increment(){
 i += 1; }
function removeElement(parentDiv, childDiv){
 if (childDiv == parentDiv){
 alert(\"The parent div cannot be removed.\");
 }
 else if (document.getElementById(childDiv)){
 var child = document.getElementById(childDiv);
 var parent = document.getElementById(parentDiv);
 parent.removeChild(child);
 }
 else{
 alert(\"Child div has already been removed or does not exist.\");
 return false;
 }
 }
function nameFunction(){
 var r = document.createElement(\'span\');
 var y = document.createElement(\"INPUT\");
 y.setAttribute(\"type\", \"text\");
 y.setAttribute(\"placeholder\", \"Name\");
 var g = document.createElement(\"Text\");
 g.setAttribute(\"src\");
 increment();
 y.setAttribute(\"Name\", \"textelement_\" + i);
 r.appendChild(y);
 g.setAttribute(\"onclick\", \"removeElement (\'myForm\' , \'id_ \"+ i + \"\')\");  
 r.appendChild(g);
 r.setAttribute(\"id\", \"id_\" + i);
 document.getElementById(\"myForm\").appendChild(r);
 count=count+1;
 }
function resetElements(){
 document.getElementById(\'myForm\').innerHTML = \'\';
 i=0;
 }
function fnsort()
 {
 var x;
 x=count;
 var strings=[]
 var t;
 var i=0;
 t=x;
 while(t!=0)
 {
 strings.push(document.forms[\"mainform\"].elements[i].value);
 t=t-1;
 i=i+1
 }
strings=strings.sort()
 var j=0;
 var msg=\'\';
 while(x!=0)
 {
 var msg=msg+strings[j]+\'\ \';
 document.forms[\"mainform\"].elements[j].value=strings[j];
 j=j+1;
 x=x-1;
 }
}


